The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived of pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
In computer networks such as the Internet, packets of data are sent from a source to a destination via a network of elements including links (communication paths such as telephone or optical lines) and nodes (for example, routers directing the packet along one or more of a plurality of links connected to it) according to one of various routing protocols.
One routing protocol used, for example, in the internet is Border Gateway Protocol (BGP). BGP is used to route data between autonomous systems (AS) comprising networks under a common administrator and sharing a common routing policy. BGP routers exchange full routing information during a connection session for example using Transmission Control Protocol (TCP) allowing inter-autonomous system routing. The information exchanged includes various attributes including a next-hop attribute. For example where a BGP router advertises a connection to a network, for example in a form of an IP address prefix, the next-hop attribute comprises the IP address used to reach the BGP router.
Edge or border BGP routers in a first AS communicate with eBGP peers in a second AS via exterior BGP (eBGP). In addition BGP routers within an AS exchange reachability information using interior BGP (iBGP). As a very large number of routes may be advertised in this manner an additional network component comprising a route reflector is commonly provided which sets up a session with each BGP router and distributes reachability information to each other BGP router.
The border routers in respective AS's can advertise to one another, using eBGP, the prefixes (network destinations) reachable from them, the advertisements carrying information such as AS-path, indicating the AS's through which the route advertisement has passed including the AS in which the advertising border router itself is located, and a BGP Community attribute indicating the manner in which the advertisement is to be propagated. For example if an eBGP advertisement is received with Community attribute No-Advertise, then the border router receiving the advertisement does not advertise the route information to any of its peers, including other routers in its AS. When the routes are advertised internally, additional information such as a local preference and a nexthop field are included. The local preference attribute sets a preference value to use of that particular route for example for a given set of prefixes such that where more than one route is available to other border routers in the AS they will select the route with the highest local preference. The next-hop attribute provides the IP address used for the link between the border router in the AS and its eBGP peer. To reduce the amount of iBGP messages further, route reflectors may only advertise the best path for a given destination to all border routers in an AS. Accordingly all border routers will forward traffic for a given destination to the border router identified in the best path advertisement. Forwarding of packets within the AS may then simply use Interior Gateway Protocol (IGP) as described in more detail below where the IGP forwarding table will ensure that packets destined for the eventual destination will be forwarded within the AS towards the appropriate border router. Alternatively an ingress border router receiving incoming packets may tunnel the packets to the appropriate egress border router, that is, encapsulate the packets to a destination egress border router for example using IP or MPLS tunnels. The packets are then decapsulated at the egress border router and forwarded according to the packet destination header.
BGP is capable of supporting multiple address types for example internet protocol version 4 (IPv4), internet protocol version 6 (IPv6) and so forth, and each type of address is identified using an address family identifier (AFI) and a subsequent address family identifier (SAFI). The destinations reachable via a BGP route, for example the network components whose IP addresses are represented by one IP prefix, are referred to as the network layer reachability information (NLRI) in BGP.
One implementation of VPNs in BGP is BGP/MPLS VPN which will be well known to the skilled reader and is described at, for example, “BGP/MPLS VPN” in the file “rfc2547.txt” of the directory “rfc” in the domain “ietf.org” of the World Wide Web, the entire contents of which are incorporated herein by reference as fully disclosed. In summary MPLS is used for forwarding the VPN packets between VPN sites and BGP is used for distributing VPN routes between the VPN sites.
Within each AS the routing protocol typically comprises an interior gateway protocol (IGP) for example a link state protocol such as open shortest path first (OSPF) or intermediate system—intermediate system (IS-IS).
The link state protocol relies on a routing algorithm resident at each node. Each node on the network advertises, throughout the network, links to neighboring nodes and provides a cost associated with each link, which can be based on any appropriate metric such as link bandwidth or delay and is typically expressed as an integer value. A link may have an asymmetric cost, that is, the cost in the direction AB along a link may be different from the cost in a direction BA. Based on the advertised information in the form of a link state packet (LSP) each node constructs a link state database (LSDB), which is a map of the entire network topology, and from that constructs generally a single optimum route to each available node based on an appropriate algorithm such as, for example, a shortest path first (SPF) algorithm. As a result a “spanning tree” (SPT) is constructed, rooted at the node and showing an optimum path including intermediate nodes to each available destination node. The results of the SPF are stored in a routing information base (RIB) and based on these results the forwarding information base (FIB) or forwarding table is updated to control forwarding of packets appropriately. When there is a network change an LSP representing the change is flooded through the network by each node adjacent the change, each node receiving the LSP sending it to each adjacent node.
As a result, when a data packet for a destination node arrives at a node the node identifies the optimum route to that destination and forwards the packet to the next node along that route. The next node repeats this step and so forth.
It is important to minimize packet loss in the case of network component failure, both intra-domain (eg IGP) and inter-domain (eg BGP). For example in the case of intra domain link failure ISP's use various techniques to react quickly to the failure while convergence is taking place including handling of the failures by other layers or implementing fast reroute techniques for example of the type described in co-pending patent application Ser. No. 10/340,371, filed 9 Jan. 2003, entitled “Method and Apparatus for Constructing a Backup Route in a Data Communications Network” of Kevin Miles et al., (“Miles et al.”), the entire contents of which are incorporated by reference for all purposes as if fully set forth herein.
In the case of inter-domain failure, for example failure of peering links between AS's or, in the case of BGP/MPLS VPN a link between a BGP/MPLS VPN service provider and a customer site, convergence can take several seconds. Typically, in these circumstances, a BGP router attached to a failed eBGP peering link advertises a new LSP without the destinations served by the failed link together with an iBGP withdraw message indicating that the destinations are not reachable. Approaches have been suggested for reducing the BGP convergence time in case of failures by reducing the number of BGP messages exchanged after a failure. In addition proposals to implement source routing techniques have been made by Gummadi et al in “Improving the reliability of Internet paths with One-hop Source Routing”, USENIX OSDI'04, 2004. However these techniques still have an unacceptably long recovery time. A further proposed technique is described in “Fast Scoped Rerouting for BGP”, in International Conference on Networks, pages 25-30, IEEE, September 2003 requiring BGP routers to find an alternate path for a destination after a failure as a result of which recovery time is still long.